/*
   ------------------------------------------------------
					Responsive Styles
   ------------------------------------------------------
*/

@media (min-width: 992px) and (max-width: 1199px) {

	#intro_form { padding-left: 15px; }
	.intro_button { margin-top: 30px; }

	.video-block { padding-bottom: 68.25%; }

	.subscribe-form { width: 100%; }
}

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

	.titlebar h1 { font-size: 32px; }
	.titlebar p { font-size: 16px; }

	#header { margin-bottom: 40px; }
	.main-site-nav-container { min-height: 90px; }
	.main-site-nav-header { min-height: 90px; }
	.main-site-brand-mark { width: 74px; height: 74px; }
	.main-site-brand-mark img { max-width: 56px; max-height: 56px; }
	.main-site-brand-title { font-size: 17px; }
	.main-site-brand-subtitle { font-size: 11px; }

	#intro_description,
	#logo_image,
	#social_icons { padding: 0; }

	#intro_form { padding: 0 0 0 25px; }
	#intro_description h1 { font-size: 32px; }
	.intro_button { margin-top: 40px; }

	#about-1 { padding-bottom: 60px; }
	#about-2 { padding-top: 60px; }

	#about-1-text { padding-right: 15px; }
	#about-2-text { padding-left: 15px; }

	.about2-block { padding: 20px 18px; }
	.about2-philo-badges { flex-direction: column; }
	.about2-section-badge { font-size: 11px; }

	.about2-main-row { display: block; }

	#video_holder.col-md-6,
	#about-2-text.col-md-6 { display: block; }

	.about2-service-block { flex: none; }

	.about2-service-block .video-block.about2-video {
		flex: none;
		min-height: 0;
	}

	.about2-video {
		padding-bottom: 54.25% !important;
		height: 0 !important;
		min-height: 0 !important;
	}

	.about2-video iframe {
		position: absolute !important;
		min-height: 0 !important;
		height: 100% !important;
	}

	#about-1-img img { padding: 0 60px; }

	#video_holder { margin-bottom: 40px; }

	#subscribe h1 {
		font-size: 32px;
		padding: 0;
	}

	#subscribe p {
		font-size: 18px;
		padding: 0;
	}

	#footer_icons { margin: 6px 0; }

	.footer-socials {
		display: inline-block;
		float: right;
	}

	.subscribe-form {
		margin: 40px auto 5px;
		width: 55%;
		float: none !important;
	}

	#newsletter-paragraph { float: none !important; }
}

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

	body.main-landing-page.mobile-nav-open {
		overflow: hidden;
	}

	.navbar-nav {
		margin: 0 -15px;
		border-top: 1px solid #ddd;
		background-color: #f6f6f6;
	}

	.navbar-brand {
		padding: 15px 15px 10px 30px;
	}

	.navbar-nav > li {
		text-align: center;
	}

	.navbar-nav > li > a {
		line-height: 44px;
		text-align: center;
		display: inline-block;
	}

	.main-site-nav-container {
		display: block;
		overflow: visible;
	}

	.main-site-header.menu-open::after {
		opacity: 1;
		pointer-events: auto;
	}

	.main-site-nav-header {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 8px;
		min-height: 78px;
		padding: 8px 0;
		position: relative;
		z-index: 1040;
	}

	.main-site-brand {
		margin-right: 0;
		padding: 8px 0;
		max-width: none;
		flex: 0 1 auto;
	}

	.main-site-brand-mark {
		width: 62px;
		height: 62px;
		border-radius: 50%;
	}

	.main-site-brand-mark img {
		max-width: 46px;
		max-height: 46px;
	}

	.main-site-brand-title,
	.main-site-brand-subtitle,
	.main-site-brand-copy {
		display: none;
	}

	.main-site-nav-toggle {
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		flex: 0 0 52px;
		width: 52px;
		height: 52px;
		margin: 0;
		padding: 0;
		border-radius: 14px;
		border: 1px solid rgba(148, 163, 184, 0.35);
		background: rgba(255, 255, 255, 0.96);
		box-shadow: 0 10px 24px rgba(15, 23, 42, 0.10);
		overflow: visible;
	}

	.main-site-nav-toggle:hover,
	.main-site-nav-toggle:focus {
		background: #f8fbff;
		border-color: rgba(37, 99, 235, 0.28);
		outline: none;
	}

	.main-site-nav-icon {
		position: absolute;
		top: 50%;
		left: 50%;
		width: 28px;
		height: 28px;
		line-height: 0;
		color: #1e293b;
		opacity: 0.92;
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
		transform: translate(-50%, -50%) scale(1);
		transition: opacity 0.2s ease, transform 0.2s ease;
	}

	.main-site-nav-icon svg {
		display: block;
		width: 28px;
		height: 28px;
		fill: none;
		stroke: currentColor;
		stroke-width: 1.7;
		stroke-linecap: round;
		stroke-linejoin: round;
	}

	.main-site-nav-icon-close {
		opacity: 0;
		transform: translate(-50%, -50%) scale(0.9);
	}

	.main-site-header.menu-open .main-site-nav-toggle {
		background: #eef6ff;
		border-color: rgba(37, 99, 235, 0.28);
	}

	.main-site-header.menu-open .main-site-nav-icon-menu {
		opacity: 0;
		transform: translate(-50%, -50%) scale(0.9);
	}

	.main-site-header.menu-open .main-site-nav-icon-close {
		opacity: 1;
		transform: translate(-50%, -50%) scale(1);
	}

	.main-site-mobile-header-lang {
		display: flex;
		align-items: center;
		justify-content: flex-end;
		flex: 0 0 auto;
		min-width: 0;
	}

	.main-site-mobile-header-lang .main-site-lang-dropdown {
		width: 100%;
		max-width: 132px;
	}

	.main-site-mobile-header-lang .main-site-lang-trigger {
		width: 100%;
		height: 40px;
		padding: 0 12px;
		border-radius: 11px;
		font-size: 12px;
		letter-spacing: 0.06em;
		box-shadow: 0 6px 16px rgba(15, 23, 42, 0.09);
	}

	.main-site-mobile-header-lang .main-site-lang-menu {
		right: 0;
		left: auto;
		min-width: 156px;
		max-width: 78vw;
	}

	.main-site-nav-panel {
		margin-top: 0;
		padding: 0;
		border-top: 0;
		box-shadow: none;
		overflow: visible !important;
		position: fixed;
		left: 12px;
		right: 12px;
		top: 92px;
		z-index: 1041;
		opacity: 0;
		visibility: hidden;
		transform: translateY(-8px) scale(0.985);
		transform-origin: top center;
		transition: opacity 0.22s ease, transform 0.22s ease, visibility 0.22s ease;
	}

	.navbar-fixed-top .main-site-nav-panel,
	.navbar-fixed-bottom .main-site-nav-panel {
		max-height: none !important;
	}

	.main-site-nav-panel.in {
		display: block;
		margin-top: 0;
		padding: 12px;
		background: #ffffff;
		border: 1px solid rgba(148, 163, 184, 0.28);
		border-radius: 22px;
		box-shadow: 0 24px 50px rgba(15, 23, 42, 0.22);
		max-height: min(calc(100vh - 112px), 430px);
		overflow-y: auto;
		overflow-x: hidden;
		-webkit-overflow-scrolling: touch;
		overscroll-behavior: contain;
		opacity: 1;
		visibility: visible;
		transform: translateY(0) scale(1);
	}

	.main-site-nav-panel.in::-webkit-scrollbar {
		width: 8px;
	}

	.main-site-nav-panel.in::-webkit-scrollbar-thumb {
		background: rgba(148, 163, 184, 0.45);
		border-radius: 999px;
	}

	.main-site-nav-list {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 6px;
		margin: 0 !important;
		padding: 0;
		float: none !important;
		border-top: 0 !important;
		background: transparent !important;
	}

	.main-site-nav-item {
		display: block;
	}

	.main-site-nav-link {
		display: flex !important;
		justify-content: flex-start;
		width: 100%;
		min-height: 52px;
		padding: 0 18px !important;
		border-radius: 13px;
		font-size: 13.5px;
		font-weight: 800;
		letter-spacing: 0.02em;
		text-align: left !important;
		line-height: 1.2 !important;
		transform: none !important;
		transition: background-color 0.18s ease, color 0.18s ease;
	}

	.main-site-nav-link:hover,
	.main-site-nav-link:focus {
		transform: none !important;
	}

	.main-site-nav-link.selected-nav,
	.main-site-nav-link.is-active {
		background: #eaf2ff !important;
		box-shadow: inset 0 0 0 1px rgba(59, 130, 246, 0.14);
	}

	.main-site-nav-link:before {
		left: 18px;
		right: auto;
		width: 24px;
		bottom: 9px;
	}

	.main-site-nav-list .main-site-nav-lang {
		display: none !important;
	}

	.container {
		overflow: hidden;
	}

	.container.main-site-nav-container {
		overflow: visible;
	}

	#intro_form,
	#logo_image,
	#social_icons,
	#about-1,
	#about-2,
	#features,
	#faq,
	#clients {
		padding-left: 45px;
		padding-right: 45px;
	}

	#header { margin-bottom: 50px; }

	#header img {
		padding: 0 15px 0 0;
	}

	.main-site-brand-copy {
		max-width: 100%;
	}

	.main-site-brand-mark img {
		padding: 0 !important;
	}

	#intro_description {
		margin-bottom: 40px;
		padding: 0 45px;
	}

	#intro_description h1 {
		font-size: 32px;
	}

	.intro_button {
		margin-top: 20px;
	}

	.form_register {
		width: 60%;
	}

	.feature-box {
		margin-bottom: 30px;
	}

	#subscribe p {
		padding: 0 4%;
	}

	#footer_nav {
		text-align: center;
		margin-bottom: 30px;
	}

	.footer-nav {
		display: inline-block;
		margin: 0 auto;
	}

	#footer_copy p {
		margin-left: 0;
	}

	.footer-nav li {
		padding: 5px 10px 5px;
	}

	.footer-socials {
		float: none;
	}

	.subscribe-form {
		margin: 25px auto 5px;
		width: 50%;
	}
}

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

	body.main-landing-page.mobile-nav-open {
		overflow: hidden;
	}

	.main-site-nav-container {
		display: block;
		overflow: visible;
	}

	.main-site-header.menu-open::after {
		opacity: 1;
		pointer-events: auto;
	}

	.main-site-nav-header {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 8px;
		min-height: 78px;
		padding: 8px 0;
		position: relative;
		z-index: 1040;
	}

	.main-site-brand {
		margin-right: 0;
		padding: 8px 0;
		max-width: none;
		flex: 0 1 auto;
	}

	.main-site-brand-mark {
		width: 62px;
		height: 62px;
		border-radius: 50%;
	}

	.main-site-brand-mark img {
		max-width: 46px;
		max-height: 46px;
	}

	.main-site-brand-title,
	.main-site-brand-subtitle,
	.main-site-brand-copy {
		display: none;
	}

	.main-site-nav-toggle {
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		flex: 0 0 52px;
		width: 52px;
		height: 52px;
		margin: 0;
		padding: 0;
		border-radius: 14px;
		border: 1px solid rgba(148, 163, 184, 0.35);
		background: rgba(255, 255, 255, 0.96);
		box-shadow: 0 10px 24px rgba(15, 23, 42, 0.10);
		overflow: visible;
	}

	.main-site-nav-toggle:hover,
	.main-site-nav-toggle:focus {
		background: #f8fbff;
		border-color: rgba(37, 99, 235, 0.28);
		outline: none;
	}

	.main-site-nav-icon {
		position: absolute;
		top: 50%;
		left: 50%;
		width: 28px;
		height: 28px;
		line-height: 0;
		color: #1e293b;
		opacity: 0.92;
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
		transform: translate(-50%, -50%) scale(1);
		transition: opacity 0.2s ease, transform 0.2s ease;
	}

	.main-site-nav-icon svg {
		display: block;
		width: 28px;
		height: 28px;
		fill: none;
		stroke: currentColor;
		stroke-width: 1.7;
		stroke-linecap: round;
		stroke-linejoin: round;
	}

	.main-site-nav-icon-close {
		opacity: 0;
		transform: translate(-50%, -50%) scale(0.9);
	}

	.main-site-header.menu-open .main-site-nav-toggle {
		background: #eef6ff;
		border-color: rgba(37, 99, 235, 0.28);
	}

	.main-site-header.menu-open .main-site-nav-icon-menu {
		opacity: 0;
		transform: translate(-50%, -50%) scale(0.9);
	}

	.main-site-header.menu-open .main-site-nav-icon-close {
		opacity: 1;
		transform: translate(-50%, -50%) scale(1);
	}

	.main-site-mobile-header-lang {
		display: flex;
		align-items: center;
		justify-content: flex-end;
		flex: 0 0 auto;
		min-width: 0;
	}

	.main-site-mobile-header-lang .main-site-lang-dropdown {
		width: 100%;
		max-width: 132px;
	}

	.main-site-mobile-header-lang .main-site-lang-trigger {
		width: 100%;
		height: 40px;
		padding: 0 12px;
		border-radius: 11px;
		font-size: 12px;
		letter-spacing: 0.06em;
		box-shadow: 0 6px 16px rgba(15, 23, 42, 0.09);
	}

	.main-site-mobile-header-lang .main-site-lang-menu {
		right: 0;
		left: auto;
		min-width: 156px;
		max-width: 78vw;
	}

	.main-site-nav-panel {
		margin-top: 0;
		padding: 0;
		border-top: 0;
		box-shadow: none;
		overflow: visible !important;
		position: fixed;
		left: 12px;
		right: 12px;
		top: 92px;
		z-index: 1041;
		opacity: 0;
		visibility: hidden;
		transform: translateY(-8px) scale(0.985);
		transform-origin: top center;
		transition: opacity 0.22s ease, transform 0.22s ease, visibility 0.22s ease;
	}

	.navbar-fixed-top .main-site-nav-panel,
	.navbar-fixed-bottom .main-site-nav-panel {
		max-height: none !important;
	}

	.main-site-nav-panel.in {
		display: block;
		margin-top: 0;
		padding: 12px;
		background: #ffffff;
		border: 1px solid rgba(148, 163, 184, 0.28);
		border-radius: 22px;
		box-shadow: 0 24px 50px rgba(15, 23, 42, 0.22);
		max-height: min(calc(100vh - 112px), 430px);
		overflow-y: auto;
		overflow-x: hidden;
		-webkit-overflow-scrolling: touch;
		overscroll-behavior: contain;
		opacity: 1;
		visibility: visible;
		transform: translateY(0) scale(1);
	}

	.main-site-nav-panel.in::-webkit-scrollbar {
		width: 8px;
	}

	.main-site-nav-panel.in::-webkit-scrollbar-thumb {
		background: rgba(148, 163, 184, 0.45);
		border-radius: 999px;
	}

	.main-site-nav-list {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 6px;
		margin: 0 !important;
		padding: 0;
		float: none !important;
		border-top: 0 !important;
		background: transparent !important;
	}

	.main-site-nav-item {
		display: block;
	}

	.main-site-nav-link {
		display: flex !important;
		justify-content: flex-start;
		width: 100%;
		min-height: 52px;
		padding: 0 18px !important;
		border-radius: 13px;
		font-size: 13.5px;
		font-weight: 800;
		letter-spacing: 0.02em;
		text-align: left !important;
		line-height: 1.2 !important;
		transform: none !important;
		transition: background-color 0.18s ease, color 0.18s ease;
	}

	.main-site-nav-link:hover,
	.main-site-nav-link:focus {
		transform: none !important;
	}

	.main-site-nav-link.selected-nav,
	.main-site-nav-link.is-active {
		background: #eaf2ff !important;
		box-shadow: inset 0 0 0 1px rgba(59, 130, 246, 0.14);
	}

	.main-site-nav-link:before {
		left: 18px;
		right: auto;
		width: 24px;
		bottom: 9px;
	}

	.main-site-nav-list .main-site-nav-lang {
		display: none !important;
	}
}

@media (max-width: 480px) {

	#intro_description,
	#intro_form,
	#logo_image,
	#social_icons,
	#about-1,
	#about-2,
	#features,
	#faq,
	#clients {
		padding-left: 20px;
		padding-right: 20px;
	}

	.main-site-nav-container {
		min-height: 84px;
	}

	.main-site-nav-header {
		min-height: 84px;
	}

	.main-site-brand {
		gap: 12px;
		max-width: calc(100% - 60px);
	}

	.main-site-brand-mark {
		width: 62px;
		height: 62px;
	}

	.main-site-brand-mark img {
		max-width: 46px;
		max-height: 46px;
	}

	.main-site-brand-title {
		font-size: 15px;
	}

	.intro_feature p {
		font-size: 14px;
	}

	.form_register {
		width: 90%;
	}

	#about-1-img img {
		padding: 0;
	}

	#about-2-img img {
		margin-top: 0;
		padding: 0;
	}

	.about2-block-header {
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
	}

	.about2-philo-badges {
		flex-direction: column;
	}

	.about2-testimonial-card {
		padding: 16px;
	}

	.subscribe-form {
		margin: 25px auto 5px;
		width: 70%;
	}
}

@media (max-width: 320px) {

	.titlebar h1 {
		font-size: 28px;
	}

	#intro_form,
	#logo_image,
	#social_icons,
	#about-1,
	#about-2,
	#features,
	#faq,
	#clients {
		padding-left: 5px;
		padding-right: 5px;
	}

	#logo_image {
		width: 100%;
		text-align: center;
		margin-bottom: 15px;
		float: none !important;
	}

	#logo_image img {
		padding: 0;
	}

	#social_icons {
		width: 100%;
		text-align: center;
		float: none !important;
	}

	.customNavigation {
		display: none;
	}

	#intro_description {
		padding-left: 15px;
		padding-right: 15px;
		text-align: center;
	}

	#intro_description h1 {
		text-align: center;
	}

	.subscribe-form {
		margin: 25px auto 5px;
		width: 100%;
	}
}