@media (min-width: 960px) {
	.jsuser-d-header .jsuser-d-navigation {
		display: block !important;
	}
	.jsuser-d-header .jsuser-d-navigation .menu > li:focus-within > .sub-menu {
		opacity: 1;
		visibility: visible;
	}
}

@media (max-width: 959px) {
	.jsuser-d-header .site-header-inner {
		padding: 16px 20px;
	}
	.jsuser-d-header .site-header-inner .logo {
		flex: 1;
	}
	.jsuser-d-header .site-header-inner .logo img {
		width: 150px;
	}
	.jsuser-d-header .top-header {
		flex: 0 0 auto;
	}
	.jsuser-d-header .top-bar-right,
	.jsuser-d-header .contact-header {
		display: none;
	}
	.jsuser-d-header .jsuser-d-menu-toggle {
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}
	.jsuser-d-header #mainnav.jsuser-d-navigation {
		display: none;
		position: fixed;
		inset: 0 0 0 auto;
		width: min(420px,100%);
		height: 100vh;
		height: 100dvh;
		padding: 20px;
		margin: 0;
		background: #261f25;
		overflow-y: auto;
		overscroll-behavior: contain;
		z-index: 1002;
	}
	.jsuser-d-header #mainnav.jsuser-d-navigation.is-open {
		display: flex;
		flex-direction: column;
	}
	.jsuser-d-header .jsuser-d-menu-close {
		display: block;
		align-self: flex-end;
		flex-shrink: 0;
	}
	.jsuser-d-header #mainnav .menu {
		display: flex;
		flex-direction: column;
		gap: 0;
		align-items: stretch;
		width: 100%;
	}
	.jsuser-d-header #mainnav .menu > li {
		margin: 0;
		float: none;
		width: 100%;
		border-bottom: 1px solid #ffffff24;
	}
	.jsuser-d-header #mainnav .menu li a {
		display: block;
		padding: 13px 0;
		font-size: 17px;
		line-height: 1.5;
		white-space: normal;
	}
	.jsuser-d-header #mainnav .menu > li > .sub-menu {
		position: static;
		display: block;
		width: auto;
		padding: 0 0 12px 16px;
		opacity: 1;
		visibility: visible;
		transform: none;
		background: transparent;
		box-shadow: none;
	}
	.jsuser-d-header #mainnav .menu > li.menu-item-has-children > a::after {
		display: none;
	}
	.jsuser-d-header #mainnav .menu > .jsuser-d-mobile-contact {
		display: block;
		padding: 12px 0 24px;
	}
	.jsuser-d-site #header-baner .carousel-banner,
	.jsuser-d-site #header-baner .baner-title {
		padding: 48px 0;
		text-align: center;
	}
	.jsuser-d-site #header-baner h1 {
		font-size: clamp(30px,6vw,44px);
		line-height: 1.2;
	}
	.jsuser-d-site .btn-slide {
		justify-content: center;
		flex-wrap: wrap;
	}
	.jsuser-d-site .fl-section,
	.jsuser-d-site .fl-section-top,
	.jsuser-d-site .fl-section-top2 {
		padding: 40px 0 !important;
	}
	.jsuser-d-site .box-services-builder.fl-st-3 {
		padding: 24px !important;
	}
	.jsuser-d-site .title-heading {
		font-size: 28px;
	}
	.jsuser-d-site .jsuser-d-related-grid {
		grid-template-columns: repeat(2,minmax(0,1fr));
	}
	.jsuser-d-site .subscribe-wrapper {
		padding: 24px;
	}
	.jsuser-d-site .subscribe-wrapper input[type="text"],
	.jsuser-d-site .check-wrapper {
		width: 100%;
	}
	.jsuser-d-site .box-form-contact {
		padding: 0;
		margin-bottom: 28px;
	}
	.jsuser-d-site #footer .row,
	.jsuser-d-site #footer .info-about-us {
		flex-direction: column;
		align-items: center;
		text-align: center;
	}
	.jsuser-d-site #footer .row > div {
		flex: 0 0 100%;
		max-width: 100%;
	}
	.jsuser-d-site #footer .info-about-us > div {
		width: 100%;
		padding: 0;
		margin: 0;
	}
	.jsuser-d-site #footer .box-time-work-content {
		font-size: 19px;
	}
	.jsuser-d-site #footer .box-time-work-title {
		font-size: 17px;
	}
	.jsuser-d-modal {
		padding: 16px;
	}
	.jsuser-d-modal .jsuser-d-modal-dialog {
		padding: 20px;
		max-height: calc(100dvh - 32px);
	}
}

@media (max-width: 767px) {
	.jsuser-d-site .box-services-builder .fl-flex {
		flex-direction: column;
		align-items: center;
		text-align: center;
	}
	.jsuser-d-site .box-services-builder .box-icon {
		margin: 0 0 16px;
	}
	.jsuser-d-site .box-services-builder .fl-learn-more {
		text-align: center;
	}
	.jsuser-d-site .box-services-builder .wrap-font-2 {
		text-align: center;
	}
	.jsuser-d-site .jsuser-d-related-grid {
		grid-template-columns: 1fr;
		text-align: center;
	}
	.jsuser-d-site .prestation-post,
	.jsuser-d-site .consult-block .jsuser-d-richtext,
	.jsuser-d-site .jsuser-d-breadcrumbs {
		text-align: center;
	}
	.jsuser-d-site .jsuser-d-breadcrumbs {
		justify-content: center;
	}
	.jsuser-d-site .letest-news .tf-article.fl-flex {
		flex-direction: column;
		text-align: center;
	}
	.jsuser-d-site .letest-news .tf-article.fl-flex > div {
		width: 100%;
		margin-left: 0;
	}
	.jsuser-d-site .letest-news .box-content {
		padding: 24px;
	}
}

@media (max-height: 520px) {
	.jsuser-d-modal {
		align-items: flex-start;
	}
	.jsuser-d-modal .jsuser-d-modal-dialog {
		max-height: calc(100dvh - 32px);
	}
}

@media (prefers-reduced-motion: reduce) {
	.jsuser-d-site *,
	.jsuser-d-site *::before,
	.jsuser-d-site *::after {
		animation: none !important;
		transition: none !important;
		scroll-behavior: auto !important;
	}
}

@media (max-width: 959px) {
	.jsuser-d-header .header-content,
	.jsuser-d-header .nav-wrap {
		justify-content: flex-end;
		padding: 0;
	}
	.jsuser-d-header .nav-wrap {
		display: flex;
	}
	.jsuser-d-header #mainnav .menu > .jsuser-d-services-menu {
		flex: none;
	}
	.jsuser-d-header #mainnav .jsuser-d-services-list {
		grid-template-columns: 1fr;
		gap: 0;
		margin: 0;
		padding: 0 0 12px;
		border-top: 0;
	}
	.jsuser-d-services-disclosure > summary {
		padding: 13px 0;
		font-size: 17px;
	}
	.jsuser-d-site #header-baner .baner-title {
		padding: 32px 0;
	}
	.jsuser-d-site #header-baner .sub-title {
		font-size: 17px;
		line-height: 1.65;
	}
}
@media (min-width: 960px) and (max-width: 1199px) {
	.jsuser-d-header .site-header-inner {
		gap: 24px;
		padding: 16px 24px;
	}
}
